Skip to content

Add similarweb extension#27452

Merged
raycastbot merged 7 commits intoraycast:mainfrom
alexi-build:ext/similarweb
Apr 28, 2026
Merged

Add similarweb extension#27452
raycastbot merged 7 commits intoraycast:mainfrom
alexi-build:ext/similarweb

Conversation

@alexi-build
Copy link
Copy Markdown
Contributor

@alexi-build alexi-build commented Apr 26, 2026

Description

Fetch Similarweb analytics, which include rankings, traffic trends, and audience insights for any website, and explore the locally stored history of your lookups.

Commads/Features

  • Show Website Data: Fetch website analytics for any domain or the active browser tab
  • History: Browse and manage previously fetched website snapshots stored locally
demo.yafw.balanced.mp4

Screencast

Checklist

@raycastbot
Copy link
Copy Markdown
Collaborator

Congratulations on your new Raycast extension! 🚀

We're currently experiencing a high volume of incoming requests. As a result, the initial review may take up to 10-15 business days.

Once the PR is approved and merged, the extension will be available on our Store.

@alexi-build alexi-build marked this pull request as ready for review April 26, 2026 22:23
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Apr 26, 2026

Greptile Summary

This PR adds a new Similarweb extension with two commands: Show Website Data (fetches analytics for a typed domain or the active browser tab) and History (browses locally stored snapshots). The implementation is clean — domain parsing, LocalStorage persistence, Markdown rendering, and cancellation guards are all well-handled. The one remaining style note is that formatTimestamp calls toLocaleString() without a locale argument, producing system-locale-dependent output; the rest of the previously raised issues (unused @raycast/utils dependency, missing categories, action title mismatch, and save-failure toast) appear to have been resolved in this revision.

Confidence Score: 5/5

Safe to merge; the only remaining finding is a P2 locale style issue in timestamp formatting.

All P1 issues from prior review rounds have been addressed. The single new finding is a P2 style note (toLocaleString() without locale), which does not affect correctness or safety.

No files require special attention beyond the one-line formatTimestamp fix in src/lib/format.ts.

Important Files Changed

Filename Overview
extensions/similarweb/src/api/similarweb.ts Fetches data from an undocumented internal Similarweb endpoint with spoofed browser headers; fragile and potentially against ToS (flagged in a previous thread).
extensions/similarweb/src/show-website-data.tsx Main command: resolves domain from argument or active browser tab, fetches data, renders sectioned detail list with refresh/copy/navigation actions.
extensions/similarweb/src/history.tsx History browser with per-snapshot delete, clear-all, and live re-lookup actions; cancellation guard in useEffect is correct.
extensions/similarweb/src/lib/format.ts Normalises raw API response and renders Markdown sections; formatTimestamp uses toLocaleString() without a locale, which is system-locale-dependent.
extensions/similarweb/src/lib/history.ts LocalStorage persistence with domain-based deduplication, snapshot validation guard, and a 100-entry cap; looks correct.
extensions/similarweb/src/lib/domain.ts Parses and normalises domain/URL input with www. stripping and RFC-compliant hostname validation; browser-extension fallback is guarded correctly.
extensions/similarweb/package.json Valid Raycast extension manifest with $schema, categories, correct platforms, and no unused runtime dependencies after @raycast/utils removal.
Prompt To Fix All With AI
This is a comment left during a code review.
Path: extensions/similarweb/src/lib/format.ts
Line: 721-723

Comment:
**`toLocaleString()` uses the system locale**

`new Date(value).toLocaleString()` formats the timestamp using the OS locale, so users with non-English system settings will see dates in their local language. Raycast only supports US English; passing `"en-US"` keeps output consistent across all machines.

```suggestion
function formatTimestamp(value: string): string {
  return new Date(value).toLocaleString("en-US");
}
```

**Rule Used:** What: Do not implement custom localization logic i... ([source](https://app.greptile.com/review/custom-context?memory=78677f74-64f7-483b-b90d-9c33e2e049da))

How can I resolve this? If you propose a fix, please make it concise.

Reviews (5): Last reviewed commit: "chore(similarweb): update dependencies a..." | Re-trigger Greptile

Comment thread extensions/similarweb/src/show-website-data.tsx
Comment thread extensions/similarweb/package.json
Comment thread extensions/similarweb/package.json
Comment thread extensions/similarweb/src/api/similarweb.ts
@0xdhrv 0xdhrv self-assigned this Apr 28, 2026
Comment thread extensions/similarweb/src/show-website-data.tsx
alexi-build and others added 2 commits April 28, 2026 06:39
- Bump devDependencies to latest versions for better performance and compatibility.
- Add DOM library to TypeScript configuration.
- Introduce eslint configuration file for improved linting setup.
Copy link
Copy Markdown
Contributor

@0xdhrv 0xdhrv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, approved ✅

@raycastbot raycastbot merged commit 2130396 into raycast:main Apr 28, 2026
2 checks passed
@github-actions
Copy link
Copy Markdown
Contributor

Published to the Raycast Store:
https://raycast.com/alexi.build/similarweb

@raycastbot
Copy link
Copy Markdown
Collaborator

🎉 🎉 🎉

We've rewarded your Raycast account with some credits. You will soon be able to exchange them for some swag.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants